/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Control;

import database.DatabaseHandler;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JOptionPane;
import model.Kategori;
import model.Spørgsmål;

/**
 *
 * @author Malene
 */
public class SpørgsmålHandler {

    private ArrayList<Spørgsmål> spørgsmålList;
//    private final int ANTAL;
    private DatabaseHandler db;

    public SpørgsmålHandler() throws SQLException{
        spørgsmålList = new ArrayList<>();
//        ANTAL = getAntalSpørgsmål();
        db = DatabaseHandler.getInstance();
        getAlleSpørgsmål();   
    }
   
    

    public void getAlleSpørgsmål() throws SQLException {
 
        spørgsmålList.clear();
        String sql = "Select * from Spørgsmål join Kategori on Kategori.id = kategoriid";
        ResultSet rs = db.select(sql);


        while (rs.next()) {


            Kategori kategori = new Kategori(rs.getString("Navn"));
            String spørgsmål = rs.getString("Spørgsmål");
            String svar1 = rs.getString("svar1");
            String svar2 = rs.getString("svar2");
            String svar3 = rs.getString("svar3");
            String svar4 = rs.getString("svar4");

            String rigtigtSvar = rs.getString("svar" + rs.getInt("RigtigtSvar"));

            spørgsmålList.add(new Spørgsmål(kategori, spørgsmål, svar1, svar2, svar3, svar4, rigtigtSvar));
        }
    }

//    public Spørgsmål getTilfældigtSpørgsmål() throws SQLException {
//
//        Random ran = new Random();
//        Spørgsmål sp = null;
//        
//        String sql = "Select * from spørgsmål join kategori on kategori.id = kategoriid where spørgsmål.id=" + ran.nextInt(ANTAL);
//        ResultSet rs = db.select(sql);
//        if (rs.next()) {
//
//            Kategori kategori = new Kategori(rs.getString("Navn"));
//            String spørgsmål = rs.getString("Spørgsmål");
//            String svar1 = rs.getString("svar1");
//            String svar2 = rs.getString("svar2");
//            String svar3 = rs.getString("svar3");
//            String svar4 = rs.getString("svar4");
//            String rigtigtSvar = rs.getString("svar" + rs.getInt("RigtigtSvar"));
//
//            sp = new Spørgsmål(kategori, spørgsmål, svar1, svar2, svar3, svar4, rigtigtSvar);
//        }
//        return sp;
//
//
//    }

    
    public Spørgsmål getRandomSpørgsmål() {
        System.out.println("Antal spørgsmål: "+spørgsmålList.size());

        Random ran = new Random();
        return spørgsmålList.remove(ran.nextInt(spørgsmålList.size()));
    }

    private int getAntalSpørgsmål() throws SQLException {
        String sql = "Select count(*) from Spørgsmål";
        ResultSet rs = db.select(sql);
        int antal = 0;
        if (rs.next()){
            antal = rs.getInt("count(*)");
        }

        return antal;
    }
}
